package com.hhsj.design.pullableview.ability;

import androidx.annotation.ColorInt;

import com.hhsj.design.pullableview.view.ILoadMoreView;

//上拉 = 上拉 + 弹性 + 底线
public interface IPullUpAble extends IFooterLineAble {

    enum FooterState {
        //[0]，(0-height),[height,height+),[height+,height),[height],[height,0),[0]
        NORMAL, FOR_LOAD, CAN_LOAD, TO_LOAD, LOADING, TO_NORMAL
    }

    interface PullUpAbleListener {
        /**
         * 开始加载更多
         */
        void doLoadMore();
    }

    /**
     * 设置底部是否可以加载更多
     *
     * @param loadMoreEnable
     */
    void setLoadMoreEnable(boolean loadMoreEnable);

    boolean isLoadMoreEnable();

    /**
     * 停止加载更多
     */
    void stopLoadMore();

    /**
     * 设置加载更多视图背景色
     *
     * @param colorInt
     */
    void setLoadMoreViewBgColor(@ColorInt int colorInt);

    /**
     * 添加底部加载更多
     *
     * @param iLoadMoreView
     * @param defaultFooterHeight
     */
    void setLoadMoreView(ILoadMoreView iLoadMoreView, int defaultFooterHeight);

//    void autoLoadMore();

}
